<?php  

require_once("model/Model.class.php");
require_once("classes/funcoes.php");
  
class UsuarioModel extends Model{
    
    public function __construct(){
        $this->setTabela("usuarios");
    }
    
    public function listarTodos(){
        $result = $this->selectAll();
        foreach ($result as $key => $value):
            $usuario[] = $value['usuario'];
            $data_cadastro[] = $value['data_cadastro'];
            $perfil[] = $value['perfil'];
            $idusuario[] = $value['idusuario'];
        endforeach;
        return array("usuario" =>$usuario, "data_cadastro"=>$data_cadastro,"perfil"=>$perfil,"idusuario"=>$idusuario);        
    }
    
    public function listar(Usuario $usuario){
        $criteria = "idusuario = {$usuario->getCodigo()}";    
        $result = $this->select($criteria);
        return array("nome" =>$result['nome'],"usuario" =>$result['usuario'], "data_cadastro"=>$result['data_cadastro'],"perfil"=>$result['perfil'],"idusuario"=>$result['idusuario']);     
    }
    
    public function inserir(Usuario $usuario){
        $sql = "";
        $sql .= "INSERT INTO usuarios ";
        $sql .= "            (nome, ";
        $sql .= "             usuario, ";
        $sql .= "             senha, ";
        $sql .= "             perfil) ";
        $sql .= "VALUES     ('{$usuario->getNome()}', ";
        $sql .= "            '{$usuario->getLogin()}', ";
        $sql .= "            '{$usuario->getSenha()}', ";
        $sql .= "            '{$usuario->getPerfil()}') ";
        $this->conectar();
        $campos = array(
                        'nome',
                        'usuario',
                        'senha',
                        'perfil'
                  );
        $valores = array(
                        $usuario->getNome(),
                        $usuario->getLogin(),
                        $usuario->getSenha(),
                        $usuario->getPerfil() 
                   );          
        return $this->insert($campos, $valores);
    }
    
    public function alterar(Usuario $usuario){
        $campos = array(
                        'nome',
                        'usuario',
                        'senha',
                        'perfil'
                  );
        $valores = array(
                        $usuario->getNome(),
                        $usuario->getLogin(),
                        $usuario->getSenha(),
                        $usuario->getPerfil() 
                   );
        $criteria = "idusuario = {$usuario->getCodigo()}";           
        return $this->update($campos, $valores, $criteria);
    }
    
    public function deletar(Usuario $usuario){
        $criteria = "idusuario = {$usuario->getCodigo()}"; 
        return $this->delete($criteria);
    }      
}
?>
